import javax.swing.*;
import java.beans.*;
import java.sql.*; 
import java.lang.*;
import java.util.*;
public class ResultadosBusquedaPrestatario extends Observable implements Observer{

  
    private javax.swing.JButton jButton1;
    private javax.swing.JButton jButton2;
    private javax.swing.JLabel jLabel1;
    private javax.swing.JList jList1;
    private javax.swing.JScrollPane jScrollPane1;
	JFrame ventanaResultadosBusquedaPrestatario;
	
	Object resultados[][];
	Vector resultado;
	
	int numeroResultados;
	int identificadores[];
	
	FichaPrestatario ficha;
	
	public ResultadosBusquedaPrestatario(Object resultadosEntregados[][],int resultadosTotales){
		resultados=resultadosEntregados;	
		numeroResultados= resultadosTotales;
		resultado = new Vector();
		identificadores=new int[numeroResultados];
		levantaVista();
		llenaLista();
	
		System.out.println("llege");
	}
	
	
	private void levantaVista() {
  	  	ventanaResultadosBusquedaPrestatario=new JFrame();
   	 	jScrollPane1 = new javax.swing.JScrollPane();
    	jList1 = new javax.swing.JList();
 		jButton1 = new javax.swing.JButton();
   		jLabel1 = new javax.swing.JLabel();
   		jButton2 = new javax.swing.JButton();

	    ventanaResultadosBusquedaPrestatario.setDefaultCloseOperation(javax.swing.WindowConstants.EXIT_ON_CLOSE);
    	ventanaResultadosBusquedaPrestatario.setTitle("Sistema de administraci\u00f3n.... - Resultados de la busqueda ");
        ventanaResultadosBusquedaPrestatario.setResizable(false);
        jList1.setSelectionMode(javax.swing.ListSelectionModel.SINGLE_SELECTION);
        jScrollPane1.setViewportView(jList1);
    	ImageIcon volvericon = new ImageIcon("images/left_16x16.gif");
        jButton1.setIcon(volvericon);
        jButton1.setText("Volver");
        jButton1.addActionListener(new java.awt.event.ActionListener() {
        
        	public void actionPerformed(java.awt.event.ActionEvent evt) {
        		jButton1ActionPerformed(evt);
            }
        });

        jLabel1.setFont(new java.awt.Font("Arial", 1, 14));
        jLabel1.setHorizontalAlignment(javax.swing.SwingConstants.CENTER);
        jLabel1.setText("Resultados de la buqueda");

        jButton2.setText("Ver Ficha");
        jButton2.addActionListener(new java.awt.event.ActionListener() {
            public void actionPerformed(java.awt.event.ActionEvent evt) {
                jButton2ActionPerformed(evt);
            }
        });

        org.jdesktop.layout.GroupLayout layout = new org.jdesktop.layout.GroupLayout(ventanaResultadosBusquedaPrestatario.getContentPane());
        ventanaResultadosBusquedaPrestatario.getContentPane().setLayout(layout);
        layout.setHorizontalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(org.jdesktop.layout.GroupLayout.TRAILING, layout.createSequentialGroup()
                .add(24, 24, 24)
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.TRAILING, false)
                    .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 462, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                    .add(layout.createSequentialGroup()
                        .add(jButton1)
                        .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, org.jdesktop.layout.GroupLayout.DEFAULT_SIZE, Short.MAX_VALUE)
                        .add(jButton2)))
                .add(29, 29, 29))
            .add(layout.createSequentialGroup()
                .addContainerGap()
                .add(jLabel1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 212, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addContainerGap(293, Short.MAX_VALUE))
        );
        layout.setVerticalGroup(
            layout.createParallelGroup(org.jdesktop.layout.GroupLayout.LEADING)
            .add(layout.createSequentialGroup()
                .addContainerGap()
                .add(jLabel1)
                .add(40, 40, 40)
                .add(jScrollPane1, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE, 223, org.jdesktop.layout.GroupLayout.PREFERRED_SIZE)
                .addPreferredGap(org.jdesktop.layout.LayoutStyle.RELATED, 48, Short.MAX_VALUE)
                .add(layout.createParallelGroup(org.jdesktop.layout.GroupLayout.BASELINE)
                    .add(jButton2)
                    .add(jButton1))
                .addContainerGap())
        );
        ventanaResultadosBusquedaPrestatario.pack();
        ventanaResultadosBusquedaPrestatario.setVisible(true);
    }

    private void jButton1ActionPerformed(java.awt.event.ActionEvent evt) {
		this.setChanged();
		this.notifyObservers(); 
		ventanaResultadosBusquedaPrestatario.dispose();
    }

    private void jButton2ActionPerformed(java.awt.event.ActionEvent evt) {
		if(jList1.getSelectedIndex()!=-1){
    	System.out.println("ID:"+identificadores[jList1.getSelectedIndex()]);
		ventanaResultadosBusquedaPrestatario.setVisible(false);
		ficha = new FichaPrestatario(identificadores[jList1.getSelectedIndex()]);
		ficha.addObserver(this);
		
    }
    
    }
    
  

    
    public void update( Observable obs,Object obj ) {
       
    	ventanaResultadosBusquedaPrestatario.setVisible(true);
    	this.setChanged();
		this.notifyObservers(); 
		ventanaResultadosBusquedaPrestatario.dispose();
      
    }
    
	private void llenaLista(){
		
		generaResultados();
		jList1.setListData(resultado);
		
	}
	
	private void generaResultados(){
		String cadenaResultado;
		int x=numeroResultados;
		System.out.println("X="+x);
		for (int i=0; i<x;i++){
			cadenaResultado ="Rut= "+resultados[i][2]+" | Nombre= "+resultados[i][4]+" "+resultados[i][3] +" | Curso= "+resultados[i][7]+" | Situacion actual de prestamo= "+resultados[i][8]+" ";
			identificadores[i]=(Integer) resultados[i][0];
			resultado.addElement(cadenaResultado);
		}
	
	}
	
}